package ${package.Service};

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ${package.Entity}.${entity};
import ${cfg.requestPackage}.${cfg.moduleName}.${entity}CreateRequest;
import ${cfg.requestPackage}.${cfg.moduleName}.${entity}UpdateRequest;
import ${cfg.requestPackage}.${cfg.moduleName}.${entity}PageRequest;
import ${cfg.responsePackage}.${cfg.moduleName}.${entity}DetailResponse;
import ${cfg.responsePackage}.${cfg.moduleName}.${entity}PageResponse;

import java.util.List;

/**
 * <p>
 * ${table.comment!} 服务接口
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
public interface I${entity}Service {

    /**
     * 查询${table.comment!}详情
     * @param id 主键ID
     * @return ${table.comment!}详情
     */
    ${entity}DetailResponse find${entity}Detail(String id);

    /**
     * 分页查询${table.comment!}
     * @param request 分页查询请求
     * @return 分页结果
     */
    Page<${entity}PageResponse> find${entity}Page(${entity}PageRequest request);

    /**
     * 创建${table.comment!}
     * @param request 创建请求
     */
    void create${entity}(${entity}CreateRequest request);

    /**
     * 更新${table.comment!}
     * @param request 更新请求
     */
    void update${entity}(${entity}UpdateRequest request);

    /**
     * 删除${table.comment!}
     * @param id 主键ID
     */
    void delete${entity}(String id);

    /**
     * 批量删除${table.comment!}
     * @param ids 主键ID列表
     */
    void batchDelete${entity}(List<String> ids);
}